//加载所需模块
const fs = require('fs');
const path = require('path');
const express = require('express');
const cors = require('cors');

// 创建app
const app = express();
// 指定端口
app.listen(3000,()=>{console.log('玩命启动中...');
})

// 中间件配置
// 1.配置post请求体接收
app.use(express.urlencoded({express:false}));
// 2.解决跨域
app.use(cors());
// ----------------------------------------------------------------

// 得到books.josn的绝对路径,不必重复拼接
const bookspath = path.join(__dirname,'./books.json');
// 获取书籍接口
app.get('/api/getbooks',(req,res)=>{
    fs.readFile(bookspath,'utf-8',(err,data)=>{
        if(err)console.log(err);
        res.send({
            status:200,
            msg:'获取成功',
            data:JSON.parse(data)
        })
    })
});
// 添加书籍接口
app.post('/api/addbooks',(req,res)=>{
    // console.log(req.body);
    // 把req.body添加到books.json中
    // 读取
    fs.readFile(bookspath,'utf-8',(err,data)=>{
        if(err)console.log(err);
        // console.log(data);
        data = JSON.parse(data);
        data.push(req.body);
        // 写入
        fs.writeFile(bookspath,JSON.stringify(data),err=>{
            if(err){
                console.log(err);
                res.send({status:400,msg:'添加失败'})
            }else{
                res.send({status:201,msg:'添加成功'})
            }
        })
    })
});
// 删除书籍接口
app.get('/api/getbooks',(req,res)=>{
    let id = req.query.id;
    fs.readFile(bookspath,'utf-8',(err,data)=>{
        data = JSON.parse(data);
        let result = data.filter(item=>item.id != id);
        // 把剩余的储存起来
        fs.readFile(bookspath,JSON.stringify(result),err=>{
            if(err){
                res.send({status:400,msg:'删除失败'})
            }else{
                res.send({status:200,msg:'删除成功'})
            }
        })
    })
});
